//  This file is part of Swordbible - http://www.swordwarrior.net
//  Copyright (C) 2003-2009 Manu Mital mital.manu@gmail.com

//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2, or (at your option)
//  any later version.

//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.

//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software Foundation,
//  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.



// SwordBibleDoc.cpp : implementation of the CSwordBibleDoc class
//

#include <stdafx.h>
#include "SwordBible.h"

#include "SwordBibleDoc.h"
#include ".\SwordBibledoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// static variables

CString CSwordBibleDoc::driveLetter;

/******************************** Main bible attributes ********************************/

sword::VerseKey CSwordBibleDoc::key;    // the active bible key
BOOL CSwordBibleDoc::bibleZoom = FALSE;  // zoom button on the bible is on or off
BOOL CSwordBibleDoc::bibleSplit = FALSE;  // zoom button on the bible is on or off
//BOOL CSwordBibleDoc::bibleRTL = FALSE;   // right to left text layout

sword::SWModule*  CSwordBibleDoc::pRTFBibleModule[nBibles];
sword::SWModule*  CSwordBibleDoc::pHTMLBibleModule[nBibles];
int CSwordBibleDoc::numBiblesAvailable = 0;
CStringArray CSwordBibleDoc::VerseHistory;

/******************************** Notes display attributes ********************************/
int CSwordBibleDoc::curNotesChapter = 1;			// the active chapter in the notes section
CString CSwordBibleDoc::curNotesBook = _T("Genesis");	// the active book in the notes section
BOOL CSwordBibleDoc::notesSynch;					// synchronize notes with main bible position?
BOOL CSwordBibleDoc::notesBold;
BOOL CSwordBibleDoc::notesItalic;
BOOL CSwordBibleDoc::notesUnderline;
BOOL CSwordBibleDoc::notesParaRight;
BOOL CSwordBibleDoc::notesParaCenter;
BOOL CSwordBibleDoc::notesParaLeft;

/******************************** Bottom modules display attributes ********************************/

BOOL CSwordBibleDoc::bottomSynch;  // synchronize bottom with main bible position?
sword::VerseKey CSwordBibleDoc::curBottomKey;    // the active bottom key
BOOL CSwordBibleDoc::bottomZoom = FALSE;  // zoom button on the bible is on or off
sword::SWModule*  CSwordBibleDoc::pRTFComModule[nBottom];
int CSwordBibleDoc::numComAvailable = 0;

/**************************************** Bottom Left modules attributes *****************************/

int CSwordBibleDoc::numDictAvailable = 0;
BOOL CSwordBibleDoc::dictZoom = FALSE;
sword::SWModule* CSwordBibleDoc::pRTFDictModule[nBottomLeft];
sword::SWModule * CSwordBibleDoc::pDictModuleActive;

/**************************************** General Books attributes ********************************/
BOOL CSwordBibleDoc::GenBookZoom = FALSE;
int CSwordBibleDoc::numGenBooksAvailable = 0;
sword::SWModule * CSwordBibleDoc::pRTFGenBooks[nGenBooks];
sword::TreeKeyIdx * CSwordBibleDoc::GenBookTree;
sword::SWKey CSwordBibleDoc::GenBookKey;

/**************************************** Devotional modules attributes *****************************/
BOOL CSwordBibleDoc::devotion_startup;
sword::SWKey CSwordBibleDoc::devotionKey = NULL;
BOOL CSwordBibleDoc::devZoom = FALSE;
CString CSwordBibleDoc::monthNames[12] = {_T("JAN"), _T("FEB"), _T("MAR"), _T("APR"), _T("MAY"), _T("JUNE"), _T("JULY"), _T("AUG"),_T("SEP"),
_T("OCT"),_T("NOV"),_T("DEC")};
sword::SWModule* CSwordBibleDoc::pRTFDevModule[nDevotional];
int CSwordBibleDoc::numDevAvailable = 0;

/**************************************** One Year Daily Bible *****************************/
BOOL CSwordBibleDoc::dailybibleZoom = FALSE;  // zoom button on the daily bible is on or off

/**************************************** Scripture Reference *****************************/
BOOL CSwordBibleDoc::scripRefZoom = FALSE;  // zoom button on the scripture reference is on or off

/******************************** General/Global Attributes ********************************/
BOOL CSwordBibleDoc::rememberLastVerse = TRUE;  // jump to the last active verse in previous session
BOOL CSwordBibleDoc::crossref_tags = TRUE;
sword::SWModule * CSwordBibleDoc::pXrefModuleActive = NULL;
BOOL CSwordBibleDoc::heading_tags = TRUE;
BOOL CSwordBibleDoc::showTitle = TRUE;
BOOL CSwordBibleDoc::lemma_tags = TRUE;
BOOL CSwordBibleDoc::morph_tags = TRUE;
BOOL CSwordBibleDoc::fn_tags = TRUE;
BOOL CSwordBibleDoc::redchrist_tags = TRUE;

/********************************** Hangman *********************************************/

TCHAR CSwordBibleDoc::alphabet[26] = {_T('A'), _T('B'), _T('C'), _T('D'), _T('E'), _T('F'), _T('G'), _T('H'),_T('I'),
_T('J'),_T('K'), _T('L'), _T('M'), _T('N'), _T('O'), _T('P'), _T('Q'), _T('R'), _T('S'), _T('T'),
_T('U'), _T('V'), _T('W'), _T('X'), _T('Y'), _T('Z')};

CString CSwordBibleDoc::BiblePlaces[MAX_BIBLE_PLACES] = 
{_T("Absalom"),_T("Achaia"),_T("Ai"),_T("Akko"),_T("Ammon"),_T("Antioch"),_T("Ashdod"),_T("Ashkelon"),_T("Asshur"),_T("Assyria"),_T("Baal-hazor"),_T("Babel"),
_T("Babylon"),_T("Beer-Sheba"),_T("Beit El"),_T("Beirut"),_T("Bethel"),_T("Bethlehem"),_T("Byblos"),_T("Canaan"),_T("Capernaum"),_T("Cush"),_T("Damascus"),
_T("Dan"),_T("Debir"),_T("Dothan"),_T("Eden"),_T("Egypt"),_T("Ekron"),_T("Elim"),_T("Enoch"),_T("Eshcol"),_T("Etham"),_T("Gabbatha"),_T("Galilee"),_T("Gath"),
_T("Gaza"),_T("Gethsemane"),_T("Gibeon"),_T("Gilead"),_T("Golgotha"),_T("Goshen"),_T("Haran"),_T("Havilah"),_T("Hill of Gash"),_T("Hebron"),_T("Jabbok"),
_T("Jaffa"),_T("Jerash"),_T("Jericho"),_T("Jerusalem"),_T("Jordan"),_T("Jordan Plain"),_T("Judah"),_T("Judea"),_T("Kadesh-Barnea"),_T("Kiriath-Sepher"),
_T("Laban"),_T("Lachish"),_T("Laish"),_T("Laodicea"),_T("Lebanon"),_T("Lehi"),_T("Machpela"),_T("Mamre Plain"),_T("Marah"),_T("Megiddo"),_T("Memphis"),
_T("Mesopotamia"),_T("Midian"),_T("Miriam"),_T("Moab"),_T("Mount Carmel"),_T("Mount Ephraim"),_T("Mount Nebo"),_T("Mount Sinai"),_T("Nahor"),_T("Nazareth"),
_T("Nineveh"),_T("Nod"),_T("Paran"),_T("Penuel"),_T("Petra"),_T("Philistia"),_T("Pithom"),_T("Ramathlehi"),_T("Rephidim"),_T("Samaria"),_T("Shalem"),_T("Shechem"),
_T("Shomron"),_T("Sidon"),_T("Sin Desert"),_T("Sinai"),_T("Smyrna"),_T("Sodom"),_T("Syria"),_T("Tel Dan"),_T("Timnath-serah"),_T("Timnath"),_T("Tyre"),
_T("Via Dolorosa"),_T("Zaanan"),_T("Zair"),_T("Zalmon"),_T("Zalmonah"),_T("Zanoah"),_T("Zareah"),_T("Zartanah"),_T("Zelah"),_T("Zemaraim"),_T("Zephi"),
_T("Zeredathah"),_T("Zorah"),_T("Zion"),_T("Zior"),_T("Zoba") };

CString CSwordBibleDoc::BiblePeople[MAX_BIBLE_PEOPLE] = 
{_T("Abraham"),_T("Adam"),_T("Andrew the Apostle"),_T("Annas"),_T("Apollos"),_T("Aquila"),_T("Barabbas"),_T("Barnabas"),
_T("Bartholomew the Apostle"),_T("Bartimaeus son of Timaeus"),_T("Bernice"),_T("Caiaphas"),_T("Candace"),_T("Chuza"),
_T("Claudius"),_T("Cleopas"),_T("Cornelius"),_T("Crispus"),_T("Daniel"),_T("King David"),_T("Demetrius"),_T("Demus"),
_T("Dorcas"),_T("Drusilla"),_T("Elijah"),_T("Elias"),_T("Elizabeth mother of John the Baptist"),_T("Felix"),_T("Festus"),
_T("Gabriel the Angel"),_T("Gamaliel"),_T("Herod Antipas"),_T("Herod Archelaus"),_T("Herod Philip"),_T("Herod the Great"),
_T("Herod the king"),_T("Herodias"),_T("Isaac"),_T("Isaiah"),_T("Esaias"),_T("Israel"),_T("James son of Alphaeus"),
_T("James son of Zebedee"),_T("James Epistle writer"),_T("Jason"),_T("Jeremiah"),_T("Jesse"),_T("Jesus"),
_T("Joanna"),_T("John the Baptist"),_T("John the Apostle"),_T("Jonah"),_T("Jonas"),_T("Joseph of Arimathea"),
_T("Joseph, the adoptive father of Jesus"),_T("Judah, son of Jacob"),_T("Judas the Apostle"),_T("Jude"),_T("Julius"),
_T("Lazarus"),_T("Lazarus the beggar"),_T("Lois"),_T("Luke"),_T("Lydia"),_T("Lysias"),_T("Malchus"),_T("Mark"),
_T("Mary Mother of James and Joseph"),_T("Mary Mother of Jesus"),_T("Mary mother of John Mark"),_T("Mary"),
_T("Martha"),_T("Mary Magdalene"),_T("Matthew the Apostle"),_T("Matthias the Apostle"),_T("Melchizedek"),
_T("Micah"),_T("Archangel Michael"),_T("Moses"),_T("Nathanael"),_T("Nero"),_T("Nicodemus"),_T("Nicolaus"),
_T("Onesimus"),_T("Onesiphorus"),_T("Paul"),_T("Peter the Apostle"),_T("Philemon"),_T("Philip the Apostle"),
_T("Philip the Evangelist"),_T("Phoebe"),_T("Pontius Pilate"),_T("Priscilla"),_T("Silas"),_T("Simon the Apostle"),
_T("Stephen"),_T("Thaddaeus the Apostle"),_T("Thomas the Apostle"),_T("Timothy"),_T("Titus"),_T("Zechariah Father of John")};
///////////////////////////////////////////////////////////////////////////////////////




// names of the books of the bible
//columns = Book name abbreviation, # of chapters, # over verses in each book
// 66 books in the bible
CString CSwordBibleDoc::bookCode[66][4] = {  
  {_T("Genesis"), _T("Gen"), _T("50"),_T("1533")},
  {_T("Exodus"), _T("Exod"), _T("40"),_T("1213")},
  {_T("Leviticus"), _T("Lev"), _T("27"),_T("859")},
  {_T("Numbers"), _T("Num"), _T("36"),_T("1288")},
  {_T("Deuteronomy"), _T("Deut"), _T("34"),_T("959")},
  {_T("Joshua"), _T("Josh"), _T("24"), _T("658")},
  {_T("Judges"), _T("Judg"), _T("21"), _T("618")},
  {_T("Ruth"), _T("Ruth"), _T("4"),_T("85")},
  {_T("I Samuel"), _T("1Sam"), _T("31"), _T("810")},
  {_T("II Samuel"), _T("2Sam"), _T("24"),_T("695")},
  {_T("I Kings"), _T("1Kgs"), _T("22"),_T("816")},
  {_T("II Kings"), _T("2Kgs"), _T("25"),_T("719")},
  {_T("I Chronicles"), _T("1Chr"), _T("29"),_T("942")},
  {_T("II Chronicles"), _T("2Chr"), _T("36"),_T("822")},
  {_T("Ezra"), _T("Ezra"), _T("10"), _T("280")},
  {_T("Nehemiah"), _T("Neh"), _T("13"), _T("406")},
  {_T("Esther"), _T("Esth"), _T("10"), _T("167")},
  {_T("Job"), _T("Job"), _T("42"),_T("1070")},
  {_T("Psalms"), _T("Ps"), _T("150"),_T("2461")},
  {_T("Proverbs"), _T("Prov"), _T("31"),_T("915")},
  {_T("Ecclesiastes"), _T("Eccl"), _T("12"),_T("222")},
  {_T("Song of Solomon"), _T("Song"), _T("8"),_T("117")},
  {_T("Isaiah"), _T("Isa"), _T("66"),_T("1292")},
  {_T("Jeremiah"), _T("Jer"), _T("52"),_T("1364")},
  {_T("Lamentations"), _T("Lam"), _T("5"),_T("154")},
  {_T("Ezekiel"), _T("Ezek"), _T("48"),_T("1273")},
  {_T("Daniel"), _T("Dan"), _T("12"),_T("357")},
  {_T("Hosea"), _T("Hos"), _T("14"),_T("197")},
  {_T("Joel"), _T("Joel"), _T("3"),_T("73")},
  {_T("Amos"), _T("Amos"), _T("9"),_T("146")},
  {_T("Obadiah"), _T("Obad"), _T("1"),_T("21")},
  {_T("Jonah"), _T("Jonah"), _T("4"),_T("48")},
  {_T("Micah"), _T("Mic"), _T("7"),_T("105")},
  {_T("Nahum"), _T("Nah"), _T("3"),_T("47")},
  {_T("Habakkuk"), _T("Hab"), _T("3"),_T("56")},
  {_T("Zephaniah"), _T("Zeph"), _T("3"),_T("53")},
  {_T("Haggai"), _T("Hag"), _T("2"),_T("38")},
  {_T("Zechariah"), _T("Zech"), _T("14"),_T("211")},
  {_T("Malachi"), _T("Mal"), _T("4"),_T("55")},
  {_T("Matthew"), _T("Matt"), _T("28"),_T("1071")},
  {_T("Mark"), _T("Mark"), _T("16"),_T("678")},
  {_T("Luke"), _T("Luke"), _T("24"),_T("1151")},
  {_T("John"), _T("John"), _T("21"),_T("879")},
  {_T("Acts"), _T("Acts"), _T("28"),_T("1007")},
  {_T("Romans"), _T("Rom"), _T("16"),_T("433")},
  {_T("I Corinthians"), _T("1Cor"), _T("16"),_T("437")},
  {_T("II Corinthians"), _T("2Cor"), _T("13"),_T("257")},
  {_T("Galatians"), _T("Gal"), _T("6"),_T("149")},
  {_T("Ephesians"), _T("Eph"), _T("6"),_T("155")},
  {_T("Philippians"), _T("Phil"), _T("4"),_T("104")},
  {_T("Colossians"), _T("Col"), _T("4"),_T("95")},
  {_T("I Thessalonians"), _T("1Thess"), _T("5"),_T("89")},
  {_T("II Thessalonians"), _T("2Thess"), _T("3"),_T("47")},
  {_T("I Timothy"), _T("1Tim"), _T("6"),_T("113")},
  {_T("II Timothy"), _T("2Tim"), _T("4"),_T("83")},
  {_T("Titus"), _T("Titus"), _T("3"),_T("46")},
  {_T("Philemon"), _T("Phlm"), _T("1"),_T("25")},
  {_T("Hebrews"), _T("Heb"), _T("13"),_T("303")},
  {_T("James"), _T("Jas"), _T("5"),_T("108")},
  {_T("I Peter"), _T("1Pet"), _T("5"),_T("105")},
  {_T("II Peter"), _T("2Pet"), _T("3"),_T("61")},
  {_T("I John"), _T("1John"), _T("5"),_T("105")},
  {_T("II John"), _T("2John"), _T("1"),_T("13")},
  {_T("III John"), _T("3John"), _T("1"),_T("14")},
  {_T("Jude"), _T("Jude"), _T("1"),_T("25")},
  {_T("Revelation of John"), _T("Rev"), _T("22"),_T("404")}
};

int CSwordBibleDoc::VerseCount[66][151] = {
	// Genesis
	{31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26}, 
	// Exodus
	{22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38}, 
	// Leviticus
	{17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34}, 
	// Numbers
	{54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13}, 
	// Deuteronomy
	{46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12}, 
	// Joshua
	{18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33}, 
	// Judges
	{36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25}, 
	// Ruth
	{	22, 23, 18, 22}, 
	// I Samual
	{	28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13}, 
	// II Samuel
	{	27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25}, 
	// I Kings
	{	53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53}, 
	// II Kings
	{	18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30}, 
	// I Chronicles
	{	54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30}, 
	// II Chronicles
	{	17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23}, 
	// Ezra
	{	11, 70, 13, 24, 17, 22, 28, 36, 15, 44}, 
	// Nehemiah
	{	11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31}, 
	// Esther
	{	22, 23, 15, 17, 14, 14, 10, 17, 32, 3}, 
	// Job
	{	22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17}, 
	// Psalms
	{	6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6}, 
	// Proverbs
	{	33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31}, 
	// Ecclesiastes
	{	18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14}, 
	// Song of Solomon
	{	17, 17, 11, 16, 16, 13, 13, 14}, 
	// Isaiah
	{	31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24}, 
	// Jeremiah
	{	19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34}, 
	// Lamentations
	{	22, 22, 66, 22, 22}, 
	// Ezekiel
	{	28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35}, 
	// Daniel
	{	21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13}, 
	// Hosea
	{	11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9}, 
	// Joel
	{	20, 32, 21}, 
	// Amos
	{	15, 16, 15, 13, 27, 14, 17, 14, 15}, 
	// Obadiah
	{	21}, 
	// Jonah
	{	17, 10, 10, 11}, 
	// Micah
	{	16, 13, 12, 13, 15, 16, 20}, 
	// Nahum
	{	15, 13, 19}, 
	// Habakkuk
	{	17, 20, 19}, 
	// Zephaniah
	{	18, 15, 20}, 
	// Haggai
	{	15, 23}, 
	// Zechariah
	{	21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21}, 
	// Malachi
	{	14, 17, 18, 6},
	// -----------------------------------------------------------------
	// Matthew
	{	25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20},
	// Mark
	{	45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20},
	// Luke
	{	80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53},
	// John
	{	51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25},
	// Acts
	{	26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31},
	// Romans
	{	32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27},
	// I Corinthians
	{	31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24},
	// II Corinthians
	{	24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14},
	// Galatians
	{	24, 21, 29, 31, 26, 18},
	// Ephesians
	{	23, 22, 21, 32, 33, 24},
	// Philippians
	{	30, 30, 21, 23},
	// Colossians
	{	29, 23, 25, 18},
	// I Thessalonians
	{	10, 20, 13, 18, 28},
	// II Thessalonians
	{	12, 17, 18},
	// I Timothy
	{	20, 15, 16, 16, 25, 21},
	// II Timothy
	{	18, 26, 17, 22},
	// Titus
	{	16, 15, 15},
	// Philemon
	{	25},
	// Hebrews
	{	14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25},
	// James
	{	27, 26, 18, 17, 20},
	// I Peter
	{	25, 25, 22, 19, 14},
	// II Peter
	{	21, 22, 18},
	// I John
	{	10, 29, 24, 21, 21},
	// II John
	{	13},
	// III John
	{	14},
	// Jude
	{	25},
	// Revelation of John
	{	20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21}
};



// CSwordBibleDoc

IMPLEMENT_DYNCREATE(CSwordBibleDoc, CDocument)

BEGIN_MESSAGE_MAP(CSwordBibleDoc, CDocument)
END_MESSAGE_MAP()


// CSwordBibleDoc construction/destruction

CSwordBibleDoc::CSwordBibleDoc()
{
	
  CSwordBibleDoc::curBottomKey = "Gen 1:1";

	// the active bible key
	rememberLastVerse = AfxGetApp()->GetProfileInt(_T("General Options"),_T("Remember Last"),TRUE);
	if(rememberLastVerse) // jump to the last active verse in previous session

	key = (CStringA) AfxGetApp()->GetProfileString(_T("BiblePage"),_T("LastKey"), _T("III John 1:1"));
	else key = "III John 1:1";

  //bibleRTL =   AfxGetApp()->GetProfileInt(_T("BiblePage"),_T("RTL"),FALSE);
    
	// synchronize bottom with main bible position?
	bottomSynch = AfxGetApp()->GetProfileInt(_T("Bottom"),_T("Synchronize"),TRUE);  

	// synchronize notes with main bible position?
	notesSynch = AfxGetApp()->GetProfileInt(_T("Notes"),_T("Synchronize"),TRUE);

	// show devotional on startup
	devotion_startup = AfxGetApp()->GetProfileInt(_T("Devotional"),_T("Startup"),TRUE);


	// dispaly the lemma, morphological, footnote tags?
	lemma_tags =  AfxGetApp()->GetProfileInt(_T("Tags"),_T("lemma_tags"),TRUE);
	morph_tags = AfxGetApp()->GetProfileInt(_T("Tags"),_T("morph_tags"),TRUE);
	fn_tags = AfxGetApp()->GetProfileInt(_T("Tags"),_T("fn_tags"),TRUE);
	crossref_tags = AfxGetApp()->GetProfileInt(_T("Tags"),_T("crossref_tags"),TRUE);
	heading_tags = AfxGetApp()->GetProfileInt(_T("Tags"),_T("heading_tags"),TRUE);
	redchrist_tags = AfxGetApp()->GetProfileInt(_T("Tags"),_T("redchrist_tags"),TRUE);




}

CSwordBibleDoc::~CSwordBibleDoc()
{  
   

}

BOOL CSwordBibleDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}




// CSwordBibleDoc serialization

void CSwordBibleDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}


// CSwordBibleDoc diagnostics

#ifdef _DEBUG
void CSwordBibleDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CSwordBibleDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG





// returns the book index of the current key min:1  max:66
int CSwordBibleDoc::Book()
{
	return (CSwordBibleDoc::key.Testament() - 1) *39 +  CSwordBibleDoc::key.Book();

}

int CSwordBibleDoc::Chapter()
{

	return key.Chapter();
}

int CSwordBibleDoc::Verse()
{
	return key.Verse();
}

int CSwordBibleDoc::bottomChapter()
{

	return curBottomKey.Chapter();
}

int CSwordBibleDoc::bottomBook()
{
	return   (CSwordBibleDoc::curBottomKey.Testament() - 1) *39 +  CSwordBibleDoc::curBottomKey.Book();
}

int CSwordBibleDoc::bottomVerse()
{

	return curBottomKey.Verse();
}

